<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Cryptic Cabinet: CrypticCabinet.SceneManagement.WallSpaceFinder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="Logo 100x100px.png"/></td>
  <td id="projectalign">
   <div id="projectname">Cryptic Cabinet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">CrypticCabinet.SceneManagement.WallSpaceFinder Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Used to detect empty spaces on a wall for the object placement queries.  
 <a href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a9b539440e1a561038695eba7f1e45f65" id="r_a9b539440e1a561038695eba7f1e45f65"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a9b539440e1a561038695eba7f1e45f65">WallSpaceFinder</a> (Material debugMaterial=null)</td></tr>
<tr class="memdesc:a9b539440e1a561038695eba7f1e45f65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Passing the material allows the use of the debug view of the cells.  <br /></td></tr>
<tr class="separator:a9b539440e1a561038695eba7f1e45f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ed89d7c31438ea13ef7a70b29236cc" id="r_a69ed89d7c31438ea13ef7a70b29236cc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a69ed89d7c31438ea13ef7a70b29236cc">CleanUp</a> ()</td></tr>
<tr class="memdesc:a69ed89d7c31438ea13ef7a70b29236cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cleans up the generated cells, call this when the space finder is no longer needed.  <br /></td></tr>
<tr class="separator:a69ed89d7c31438ea13ef7a70b29236cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a965d20447b7f61fec15ea7e0bf831956" id="r_a965d20447b7f61fec15ea7e0bf831956"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a965d20447b7f61fec15ea7e0bf831956">ToggleCellVisibility</a> ()</td></tr>
<tr class="memdesc:a965d20447b7f61fec15ea7e0bf831956"><td class="mdescLeft">&#160;</td><td class="mdescRight">Toggles the debug cells if the debug material was provided.  <br /></td></tr>
<tr class="separator:a965d20447b7f61fec15ea7e0bf831956"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33f1383d3529bf7728b1794418bc1964" id="r_a33f1383d3529bf7728b1794418bc1964"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a33f1383d3529bf7728b1794418bc1964">SetDebugVisible</a> (bool visible)</td></tr>
<tr class="memdesc:a33f1383d3529bf7728b1794418bc1964"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the debug cell visibility if the debug material was provided.  <br /></td></tr>
<tr class="separator:a33f1383d3529bf7728b1794418bc1964"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a552c0211f9127f5e882260f6fe1fee63" id="r_a552c0211f9127f5e882260f6fe1fee63"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a552c0211f9127f5e882260f6fe1fee63">AddWall</a> (Transform wallTransform, Vector2 bounds)</td></tr>
<tr class="memdesc:a552c0211f9127f5e882260f6fe1fee63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uses the position matrix and the bounds of a wall to generate the cells used to find safe locations on wall surfaces. This assumes the location provided is in the middle of the wall. Note: All walls should be added before trying to add any other scene objects or request a wall location.  <br /></td></tr>
<tr class="separator:a552c0211f9127f5e882260f6fe1fee63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a0e3f1d1a2bd7dd4e412135187f234" id="r_a55a0e3f1d1a2bd7dd4e412135187f234"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a55a0e3f1d1a2bd7dd4e412135187f234">AddPlaneObject</a> (Matrix4x4 objectLocationMatrix, Vector2 objectDimensions)</td></tr>
<tr class="memdesc:a55a0e3f1d1a2bd7dd4e412135187f234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates what cells a 2D object blocks and flags affected cells.  <br /></td></tr>
<tr class="separator:a55a0e3f1d1a2bd7dd4e412135187f234"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae812eb91fc64516f79ed75f9236389e4" id="r_ae812eb91fc64516f79ed75f9236389e4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#ae812eb91fc64516f79ed75f9236389e4">AddVolumeObject</a> (Matrix4x4 objectLocationMatrix, Vector3 objectDimensions)</td></tr>
<tr class="memdesc:ae812eb91fc64516f79ed75f9236389e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Searches the cell representation of the room for the given object and flags the blocked cells.  <br /></td></tr>
<tr class="separator:ae812eb91fc64516f79ed75f9236389e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a813483247f84ba5d896477df91eba55c" id="r_a813483247f84ba5d896477df91eba55c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a813483247f84ba5d896477df91eba55c">QueryForSafeWallLocation</a> (float heightOffFloor, float objectHeight, float objectWidth, Vector2 edgeDistance, out Vector3 position, out Quaternion rotation, bool ignoreSceneBlocked, bool markAsBlocked=true)</td></tr>
<tr class="memdesc:a813483247f84ba5d896477df91eba55c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds a random cell roughly at the requested height. Returned cell is likely not actually at the height request.  <br /></td></tr>
<tr class="separator:a813483247f84ba5d896477df91eba55c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d8fd39d046aa054763f48709cd37e6c" id="r_a9d8fd39d046aa054763f48709cd37e6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a9d8fd39d046aa054763f48709cd37e6c">RequestRandomLocationCustomWithFloor</a> (float halfDepth, float width, float height, Vector2 edgeDistance, out Vector3 position, out Quaternion rotation, Func&lt; Collider[], int, bool &gt; checkPhysicsResultIsClear, Action&lt; Collider[], int &gt; blockPhysicsResult, bool markAsBlocked)</td></tr>
<tr class="separator:a9d8fd39d046aa054763f48709cd37e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9105541f8f74781471e33155461858f" id="r_ac9105541f8f74781471e33155461858f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#ac9105541f8f74781471e33155461858f">PickRandomWallCell</a> (float minHeight, out Vector3 position, out Quaternion rotation)</td></tr>
<tr class="separator:ac9105541f8f74781471e33155461858f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac62c57aa5b3406a5cd674255ae34e003" id="r_ac62c57aa5b3406a5cd674255ae34e003"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#ac62c57aa5b3406a5cd674255ae34e003">SetWallCollidersEnabled</a> (bool wallsEnabled)</td></tr>
<tr class="memdesc:ac62c57aa5b3406a5cd674255ae34e003"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the active state of the colliders used for finding safe wall locations.  <br /></td></tr>
<tr class="separator:ac62c57aa5b3406a5cd674255ae34e003"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac98d412de66e851715ca5558996b2f22" id="r_ac98d412de66e851715ca5558996b2f22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#ac98d412de66e851715ca5558996b2f22">ResetWallPlacements</a> ()</td></tr>
<tr class="separator:ac98d412de66e851715ca5558996b2f22"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a8e278ce4cf214df88b59aaea3e01fe68" id="r_a8e278ce4cf214df88b59aaea3e01fe68"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a8e278ce4cf214df88b59aaea3e01fe68">TargetCellSize</a> = 0.5f</td></tr>
<tr class="memdesc:a8e278ce4cf214df88b59aaea3e01fe68"><td class="mdescLeft">&#160;</td><td class="mdescRight">The target size of the cells. This adjusted to ensure the cells fit the wall perfectly.  <br /></td></tr>
<tr class="separator:a8e278ce4cf214df88b59aaea3e01fe68"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Used to detect empty spaces on a wall for the object placement queries. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a9b539440e1a561038695eba7f1e45f65" name="a9b539440e1a561038695eba7f1e45f65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b539440e1a561038695eba7f1e45f65">&#9670;&#160;</a></span>WallSpaceFinder()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CrypticCabinet.SceneManagement.WallSpaceFinder.WallSpaceFinder </td>
          <td>(</td>
          <td class="paramtype">Material&#160;</td>
          <td class="paramname"><em>debugMaterial</em> = <code>null</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Passing the material allows the use of the debug view of the cells. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">debugMaterial</td><td>Material used for debug cell view, passing null disables the debug view.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a55a0e3f1d1a2bd7dd4e412135187f234" name="a55a0e3f1d1a2bd7dd4e412135187f234"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55a0e3f1d1a2bd7dd4e412135187f234">&#9670;&#160;</a></span>AddPlaneObject()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.AddPlaneObject </td>
          <td>(</td>
          <td class="paramtype">Matrix4x4&#160;</td>
          <td class="paramname"><em>objectLocationMatrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector2&#160;</td>
          <td class="paramname"><em>objectDimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Calculates what cells a 2D object blocks and flags affected cells. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">objectLocationMatrix</td><td>The matrix describing the position and rotation of the object being added.</td></tr>
    <tr><td class="paramname">objectDimensions</td><td>The size of the object.</td></tr>
  </table>
  </dd>
</dl>

<p class="reference">References <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#ae812eb91fc64516f79ed75f9236389e4">CrypticCabinet.SceneManagement.WallSpaceFinder.AddVolumeObject()</a>.</p>

</div>
</div>
<a id="ae812eb91fc64516f79ed75f9236389e4" name="ae812eb91fc64516f79ed75f9236389e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae812eb91fc64516f79ed75f9236389e4">&#9670;&#160;</a></span>AddVolumeObject()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.AddVolumeObject </td>
          <td>(</td>
          <td class="paramtype">Matrix4x4&#160;</td>
          <td class="paramname"><em>objectLocationMatrix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector3&#160;</td>
          <td class="paramname"><em>objectDimensions</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Searches the cell representation of the room for the given object and flags the blocked cells. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">objectLocationMatrix</td><td>The matrix describing the position and rotation of the object being added.</td></tr>
    <tr><td class="paramname">objectDimensions</td><td>The size of the object.</td></tr>
  </table>
  </dd>
</dl>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a55a0e3f1d1a2bd7dd4e412135187f234">CrypticCabinet.SceneManagement.WallSpaceFinder.AddPlaneObject()</a>.</p>

</div>
</div>
<a id="a552c0211f9127f5e882260f6fe1fee63" name="a552c0211f9127f5e882260f6fe1fee63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a552c0211f9127f5e882260f6fe1fee63">&#9670;&#160;</a></span>AddWall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.AddWall </td>
          <td>(</td>
          <td class="paramtype">Transform&#160;</td>
          <td class="paramname"><em>wallTransform</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector2&#160;</td>
          <td class="paramname"><em>bounds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Uses the position matrix and the bounds of a wall to generate the cells used to find safe locations on wall surfaces. This assumes the location provided is in the middle of the wall. Note: All walls should be added before trying to add any other scene objects or request a wall location. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wallTransform</td><td>The wall transform for position and rotation.</td></tr>
    <tr><td class="paramname">bounds</td><td>The size of the wall.</td></tr>
  </table>
  </dd>
</dl>

<p class="reference">References <a class="el" href="class_cryptic_cabinet_1_1_utils_1_1_string_constants.html#ab49f0596b47c4271653c19f7f31db438">CrypticCabinet.Utils.StringConstants.SCENE_UNDERSTANDING_LAYER</a>, and <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a8e278ce4cf214df88b59aaea3e01fe68">CrypticCabinet.SceneManagement.WallSpaceFinder.TargetCellSize</a>.</p>

</div>
</div>
<a id="a69ed89d7c31438ea13ef7a70b29236cc" name="a69ed89d7c31438ea13ef7a70b29236cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69ed89d7c31438ea13ef7a70b29236cc">&#9670;&#160;</a></span>CleanUp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.CleanUp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Cleans up the generated cells, call this when the space finder is no longer needed. </p>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a68e6303437d14b5eeb32f0a7e9dc0453">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.CleanUp()</a>.</p>

</div>
</div>
<a id="ac9105541f8f74781471e33155461858f" name="ac9105541f8f74781471e33155461858f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9105541f8f74781471e33155461858f">&#9670;&#160;</a></span>PickRandomWallCell()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.PickRandomWallCell </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>minHeight</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Vector3&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Quaternion&#160;</td>
          <td class="paramname"><em>rotation</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#ad235ee1f93d276913efaceff9dc0b9d8">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.RequestTotallyRandomWallLocation()</a>.</p>

</div>
</div>
<a id="a813483247f84ba5d896477df91eba55c" name="a813483247f84ba5d896477df91eba55c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a813483247f84ba5d896477df91eba55c">&#9670;&#160;</a></span>QueryForSafeWallLocation()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CrypticCabinet.SceneManagement.WallSpaceFinder.QueryForSafeWallLocation </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>heightOffFloor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>objectHeight</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>objectWidth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector2&#160;</td>
          <td class="paramname"><em>edgeDistance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Vector3&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Quaternion&#160;</td>
          <td class="paramname"><em>rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ignoreSceneBlocked</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>markAsBlocked</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finds a random cell roughly at the requested height. Returned cell is likely not actually at the height request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">heightOffFloor</td><td>The height to search for.</td></tr>
    <tr><td class="paramname">objectHeight</td><td>The height of the object for the requested cell.</td></tr>
    <tr><td class="paramname">objectWidth</td><td>The width of the object for the requested cell.</td></tr>
    <tr><td class="paramname">edgeDistance</td><td>The minimum distance from the wall edge, x: left y: right</td></tr>
    <tr><td class="paramname">position</td><td>The position of the resulting cell.</td></tr>
    <tr><td class="paramname">rotation</td><td>The rotation of the resulting cell.</td></tr>
    <tr><td class="paramname">ignoreSceneBlocked</td><td>Flag to indicate if this should allow being placed over scene blocked cells.</td></tr>
    <tr><td class="paramname">markAsBlocked</td><td>When true, the returned cell is marked as blocked, otherwise it is unchanged.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Transform of the found cell.</dd></dl>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#aad676b4553ed323d0350139a2d777ead">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.RequestRandomWallLocation()</a>.</p>

</div>
</div>
<a id="a9d8fd39d046aa054763f48709cd37e6c" name="a9d8fd39d046aa054763f48709cd37e6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d8fd39d046aa054763f48709cd37e6c">&#9670;&#160;</a></span>RequestRandomLocationCustomWithFloor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CrypticCabinet.SceneManagement.WallSpaceFinder.RequestRandomLocationCustomWithFloor </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>halfDepth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Vector2&#160;</td>
          <td class="paramname"><em>edgeDistance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Vector3&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out Quaternion&#160;</td>
          <td class="paramname"><em>rotation</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Func&lt; Collider[], int, bool &gt;&#160;</td>
          <td class="paramname"><em>checkPhysicsResultIsClear</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Action&lt; Collider[], int &gt;&#160;</td>
          <td class="paramname"><em>blockPhysicsResult</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>markAsBlocked</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a70b562eefcfbfdab514a9004e09b1139">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.RequestRandomFloorWallLocation()</a>.</p>

</div>
</div>
<a id="ac98d412de66e851715ca5558996b2f22" name="ac98d412de66e851715ca5558996b2f22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac98d412de66e851715ca5558996b2f22">&#9670;&#160;</a></span>ResetWallPlacements()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.ResetWallPlacements </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a0034fb1f6637613369b2d331543ac4d4">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.ResetSceneUnderstanding()</a>.</p>

</div>
</div>
<a id="a33f1383d3529bf7728b1794418bc1964" name="a33f1383d3529bf7728b1794418bc1964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33f1383d3529bf7728b1794418bc1964">&#9670;&#160;</a></span>SetDebugVisible()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.SetDebugVisible </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>visible</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the debug cell visibility if the debug material was provided. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">visible</td><td>True to enable the cells.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac62c57aa5b3406a5cd674255ae34e003" name="ac62c57aa5b3406a5cd674255ae34e003"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac62c57aa5b3406a5cd674255ae34e003">&#9670;&#160;</a></span>SetWallCollidersEnabled()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.SetWallCollidersEnabled </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wallsEnabled</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the active state of the colliders used for finding safe wall locations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">wallsEnabled</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a2c1d6f27bcbba8c373f375f6040ad091">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.RequestCollidersDisabled()</a>, <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a7d55e3cebd3491c21082c0d01926a247">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.RequestCollidersEnabled()</a>, and <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a0034fb1f6637613369b2d331543ac4d4">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.ResetSceneUnderstanding()</a>.</p>

</div>
</div>
<a id="a965d20447b7f61fec15ea7e0bf831956" name="a965d20447b7f61fec15ea7e0bf831956"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a965d20447b7f61fec15ea7e0bf831956">&#9670;&#160;</a></span>ToggleCellVisibility()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CrypticCabinet.SceneManagement.WallSpaceFinder.ToggleCellVisibility </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Toggles the debug cells if the debug material was provided. </p>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_scene_understanding_location_placer.html#a26dd117e9be304a124f23158ec173848">CrypticCabinet.SceneManagement.SceneUnderstandingLocationPlacer.ToggleDebugView()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a8e278ce4cf214df88b59aaea3e01fe68" name="a8e278ce4cf214df88b59aaea3e01fe68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e278ce4cf214df88b59aaea3e01fe68">&#9670;&#160;</a></span>TargetCellSize</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float CrypticCabinet.SceneManagement.WallSpaceFinder.TargetCellSize = 0.5f</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The target size of the cells. This adjusted to ensure the cells fit the wall perfectly. </p>

<p class="reference">Referenced by <a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html#a552c0211f9127f5e882260f6fe1fee63">CrypticCabinet.SceneManagement.WallSpaceFinder.AddWall()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_wall_space_finder_8cs.html">WallSpaceFinder.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_cryptic_cabinet.html">CrypticCabinet</a></li><li class="navelem"><a class="el" href="namespace_cryptic_cabinet_1_1_scene_management.html">SceneManagement</a></li><li class="navelem"><a class="el" href="class_cryptic_cabinet_1_1_scene_management_1_1_wall_space_finder.html">WallSpaceFinder</a></li>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  </ul>
</div>
</body>
</html>
